import { DynamicModule, Module } from '@nestjs/common';
import { DbService } from './db.service';

export interface DbModuleOptions {
  path: string;
}

@Module({})
export class DbModule {
  static register(options: DbModuleOptions): DynamicModule {
    return {
      module: DbModule,
      providers: [
        // 定义 OPTIONS | DbService，使其可以被注入。 供这个模块（dbModule）内部使用
        {
          provide: 'OPTIONS',
          useValue: options,
        },
        DbService,
      ],
      exports: [DbService], // 导出 DbService，使导入该模块（dbModule）的其他模块（比如 bookModule）可以使用
    };
  }
}
